package cronjob

import (
	"fmt"
	"github.com/robfig/cron/v3"
	"sync"
	"time"
)

func task() {
	// 设置中国时区
	loc, err := time.LoadLocation("Asia/Shanghai")
	if err != nil {
		panic(err)
	}
	// 在定时任务的处理函数中设置时区
	now := time.Now().In(loc)
	fmt.Println("每5秒定时任务执行，当前时间：", now)

	targetQPS := 100

	// 使用 WaitGroup 进行任务同步
	var wg sync.WaitGroup

	for i := 1; i <= targetQPS; i++ {
		wg.Add(i)
		go HttpGetPing(i, &wg)

	}
	// 等待2秒，模拟处理任务的耗时
	time.Sleep(2 * time.Second)
}

func ActivityTask(c *cron.Cron) {

	// 添加每5秒运行一次的定时任务
	// spec := "*/5 * * * *"
	spec := "@every 5s"

	_, err := c.AddFunc(spec, task)
	if err != nil {
		panic(err)
	}

}
